Syncthing – Appareils non fiables
Il est possible de définir un mot de passe sur un dossier lorsqu'il est partagé avec un autre appareil. Les données envoyées seront chiffrées par ce mot de passe et les données reçues seront déchiffrées par le même mot de passe.
Note : Les données sont chiffrées à l'aide du mot de passe et de l'ID du dossier. Vous ne devriez jamais avoir besoin de l'ID du dossier car il est stocké dans le marqueur de dossier, mais par mesure de sécurité, assurez-vous de stocker à la fois de manière sécurisée et fiable.
À titre d'exemple, supposons un appareil fiable T1 , peut-être votre ordinateur portable. Vous avez ici des documents sensibles mais ils sont en texte clair du point de vue de Syncthing (peut-être protégés par un cryptage complet du disque). Il existe également un appareil non fiable U1 , peut-être un serveur cloud, sur lequel nous souhaitons synchroniser les données mais sous une forme illisible.
Nous définissons un mot de passe de dossier T1 lors du partage du dossier avec U1. Les données sur le disque T1 ne sont pas affectées, mais les données envoyées U1 sont chiffrées .
À partir de cette configuration, il est également possible d'ajouter d'autres appareils de confiance, par exemple T2, et de synchroniser les données de l'appareil non fiable U1 sans être en contact avec T1.
L'utilisation du même mot de passe de dossier sur T2 rend les données existantes U1 intelligibles et les données en texte brut deviennent disponibles.
De même, vous pouvez ajouter une synchronisation en « mode normal » entre des appareils non fiables.
Sur un appareil approuvé, vous pouvez définir un mot de passe pour un appareil et un dossier dans l'onglet Partager des boîtes de dialogue de modification de dossier et d'appareil. Pour partager un dossier sur un appareil de confiance, laissez simplement le champ du mot de passe vide. Pour un appareil non fiable, entrez un mot de passe. Vous pouvez cliquer sur l'œil pour activer/désactiver la visibilité du mot de passe.
Pour un seul appareil, il est possible de partager différents dossiers à la fois de manière habituelle et chiffrée. Cela peut être utile si vous avez un dossier contenant des données sensibles, que vous ne souhaitez pas qu'un autre appareil lise, et un autre dossier contenant des données qui ne posent aucun problème. Si vous ne souhaitez jamais synchroniser des données non chiffrées sur un appareil particulier, vous pouvez le marquer comme non fiable dans l'onglet avancé de la boîte de dialogue d'édition de l'appareil. Cela empêchera une connexion à cet appareil si vous oubliez de définir un mot de passe sur un dossier partagé avec lui.
Sur les appareils non fiables, vous devez définir le type de dossier sur « Recevoir chiffré ».
Il s'agit de la configuration sur un appareil de confiance. Ici, le dossier defaultest partagé avec trois appareils. L'appareil 373HSRPest un homologue de confiance traditionnel. Les deux autres appareils ne sont pas fiables CJBIJBJet I6KAH76obtiendront des données de dossier chiffrées, en utilisant des mots de passe différents.
<folder id="default" ...>
<device id="373HSRP-...">
<encryptionPassword></encryptionPassword>
</device>
<device id="CJBIJBJ-...">
<encryptionPassword>foo</encryptionPassword>
</device>
<device id="I6KAH76-...">
<encryptionPassword>bar</encryptionPassword>
</device>
</folder>
Sur les appareils non fiables, le fichier doit être .type of the foldersreceiveencrypted
L'appareil non fiable ne doit pas être en mesure de comparer les données chiffrées entre différents fichiers et de détecter si les données sont égales. Cela signifie que les blocs ne peuvent pas, comme d'habitude, être réutilisés entre les fichiers. Lorsqu'un fichier est modifié, les blocs de l'ancien fichier peuvent toujours être réutilisés. À titre d'exemple, si vous renommez un fichier foo en Foosynchronisation, cela effectuera généralement un renommage efficace ou au moins copiera toutes les données avant de supprimer l'ancienne. Sur un appareil non fiable, il supprimera l'ancien fichier et recevra les données du nouveau fichier sur le réseau. Cependant, si vous avez un gros fichier, par exemple video.mp4, et que vous en modifiez seulement une partie (par exemple, les métadonnées vidéo), seul le bloc modifié est transféré comme d'habitude.
Supposons que vous ayez récupéré une sauvegarde ou perdu la base de données Syncthing sur un appareil non fiable et que vous ayez besoin d'obtenir les données en texte brut. Pour ce faire, il existe une commande permettant de convertir les données chiffrées en texte brut sur le disque. Cela signifie que vous ne devriez le faire que sur un appareil fiable. Pour décrypter les données, exécutez la commande suivante pointée à la racine du dossier chiffré :
$ syncthing decrypt --to <plaintext-destination> --password <your-password> <encrypted-folder-path>
Les éléments suivants sont chiffrés/masqués/protégés sur les appareils non fiables :
•Données du fichier
•Métadonnées du fichier, y compris le nom, les heures et les hachages
•Structure de fichiers (votre structure de répertoires n'est pas répliquée, même sous forme de nom chiffré)
Les éléments suivants ne sont pas protégés :
•ID et étiquette du dossier
•Tailles des fichiers (les fichiers s'agrandissent un peu du côté chiffré par rapport à l'original en texte brut, mais il est toujours facile de déduire la taille originale du fichier chiffré)
Le cryptage est XChaCha20-Poly1305 et AES-SIV avec une clé dérivée du mot de passe et de l'ID de dossier à l'aide de scrypt. Reportez-vous à Chiffrement des appareils non approuvés pour plus de détails.
La structure des répertoires du côté non fiable ne suit pas celle de la hiérarchie du texte en clair. Au lieu de cela, les noms de fichiers sont chiffrés dans leur ensemble, avec leur chemin complet dans le dossier, puis divisés en une structure logique. À titre d'exemple, le nom foo.txt(dans la racine du dossier) peut être chiffré en S21K3P1VJO08DEQJ1DQJE0DLOMT068JJFD857L8ODM2TAKI3CC. Sur le disque, celui-ci est divisé en un répertoire de niveau supérieur avec une extension de fichier, un répertoire de deuxième niveau et le reste :
Les répertoires de niveau supérieur servent à combiner des fichiers, évitant ainsi les problèmes qui pourraient survenir en cas de présence d'un trop grand nombre de fichiers dans un seul répertoire.
De même, un fichier portant le nom peut être chiffré en . Avec le même système que ci-dessus, ce fichier est placé comme :Documents/Project/My project.docxIKFEDO9653D8ON1L776EUI286CPD1C…
Les fichiers encore plus longs sont divisés en répertoires plus profonds, et les fichiers partageant les premiers caractères (chiffrés) du nom se retrouveront les uns à côté des autres, quel que soit leur emplacement d'origine dans le dossier.